package br.com.generico.negocios.entidade.imp;

import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;

import br.com.generico.negocios.entidade.IEntidade;

@SuppressWarnings("serial")
@MappedSuperclass
public abstract class Entidade implements IEntidade {

	private Long id;

	public Entidade() {

	}

	@Override
	public boolean equals(Object obj) {
		boolean equals = false;
		if (this.getClass() == obj.getClass()) {
			if ((this.getId() == ((Entidade) obj).getId())) {
				equals = true;
			} else if (obj == this) {
				equals = true;
			}
		}
		return equals;
	}

	@Id
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQUENCE")
	public Long getId() {
		return this.id;
	}

	public void setId(Long id) {
		this.id = id;
	}

}
